/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package dataflowScheme;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EDataType;
import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see dataflowScheme.DataflowSchemeFactory
 * @model kind="package"
 * @generated
 */
public interface DataflowSchemePackage extends EPackage {
	/**
	 * The package name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNAME = "dataflowScheme";

	/**
	 * The package namespace URI.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_URI = "http://dfs";

	/**
	 * The package namespace name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_PREFIX = "dfs";

	/**
	 * The singleton instance of the package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	DataflowSchemePackage eINSTANCE = dataflowScheme.impl.DataflowSchemePackageImpl.init();

	/**
	 * The meta object id for the '{@link dataflowScheme.PE <em>PE</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see dataflowScheme.PE
	 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getPE()
	 * @generated
	 */
	int PE = 0;

	/**
	 * The feature id for the '<em><b>Port Set</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PE__PORT_SET = 0;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PE__NAME = 1;

	/**
	 * The feature id for the '<em><b>Source</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PE__SOURCE = 2;

	/**
	 * The number of structural features of the '<em>PE</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PE_FEATURE_COUNT = 3;

	/**
	 * The meta object id for the '{@link dataflowScheme.impl.StorageImpl <em>Storage</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see dataflowScheme.impl.StorageImpl
	 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getStorage()
	 * @generated
	 */
	int STORAGE = 1;

	/**
	 * The feature id for the '<em><b>Port Set</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int STORAGE__PORT_SET = PE__PORT_SET;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int STORAGE__NAME = PE__NAME;

	/**
	 * The feature id for the '<em><b>Source</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int STORAGE__SOURCE = PE__SOURCE;

	/**
	 * The number of structural features of the '<em>Storage</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int STORAGE_FEATURE_COUNT = PE_FEATURE_COUNT + 0;

	/**
	 * The meta object id for the '{@link dataflowScheme.impl.TaskImpl <em>Task</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see dataflowScheme.impl.TaskImpl
	 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getTask()
	 * @generated
	 */
	int TASK = 2;

	/**
	 * The feature id for the '<em><b>Port Set</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int TASK__PORT_SET = PE__PORT_SET;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int TASK__NAME = PE__NAME;

	/**
	 * The feature id for the '<em><b>Source</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int TASK__SOURCE = PE__SOURCE;

	/**
	 * The number of structural features of the '<em>Task</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int TASK_FEATURE_COUNT = PE_FEATURE_COUNT + 0;

	/**
	 * The meta object id for the '{@link dataflowScheme.Connection <em>Connection</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see dataflowScheme.Connection
	 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getConnection()
	 * @generated
	 */
	int CONNECTION = 3;

	/**
	 * The number of structural features of the '<em>Connection</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CONNECTION_FEATURE_COUNT = 0;

	/**
	 * The meta object id for the '{@link dataflowScheme.impl.SynchroConnectionImpl <em>Synchro Connection</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see dataflowScheme.impl.SynchroConnectionImpl
	 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getSynchroConnection()
	 * @generated
	 */
	int SYNCHRO_CONNECTION = 4;

	/**
	 * The feature id for the '<em><b>Out Port</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int SYNCHRO_CONNECTION__OUT_PORT = CONNECTION_FEATURE_COUNT + 0;

	/**
	 * The feature id for the '<em><b>In Port</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int SYNCHRO_CONNECTION__IN_PORT = CONNECTION_FEATURE_COUNT + 1;

	/**
	 * The number of structural features of the '<em>Synchro Connection</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int SYNCHRO_CONNECTION_FEATURE_COUNT = CONNECTION_FEATURE_COUNT + 2;

	/**
	 * The meta object id for the '{@link dataflowScheme.impl.DataConnectionImpl <em>Data Connection</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see dataflowScheme.impl.DataConnectionImpl
	 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getDataConnection()
	 * @generated
	 */
	int DATA_CONNECTION = 5;

	/**
	 * The feature id for the '<em><b>Out Port</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int DATA_CONNECTION__OUT_PORT = CONNECTION_FEATURE_COUNT + 0;

	/**
	 * The feature id for the '<em><b>In Port</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int DATA_CONNECTION__IN_PORT = CONNECTION_FEATURE_COUNT + 1;

	/**
	 * The number of structural features of the '<em>Data Connection</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int DATA_CONNECTION_FEATURE_COUNT = CONNECTION_FEATURE_COUNT + 2;

	/**
	 * The meta object id for the '{@link dataflowScheme.Port <em>Port</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see dataflowScheme.Port
	 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getPort()
	 * @generated
	 */
	int PORT = 6;

	/**
	 * The feature id for the '<em><b>Type</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PORT__TYPE = 0;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PORT__NAME = 1;

	/**
	 * The number of structural features of the '<em>Port</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PORT_FEATURE_COUNT = 2;

	/**
	 * The meta object id for the '{@link dataflowScheme.impl.DataPortImpl <em>Data Port</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see dataflowScheme.impl.DataPortImpl
	 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getDataPort()
	 * @generated
	 */
	int DATA_PORT = 7;

	/**
	 * The feature id for the '<em><b>Type</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int DATA_PORT__TYPE = PORT__TYPE;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int DATA_PORT__NAME = PORT__NAME;

	/**
	 * The number of structural features of the '<em>Data Port</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int DATA_PORT_FEATURE_COUNT = PORT_FEATURE_COUNT + 0;

	/**
	 * The meta object id for the '{@link dataflowScheme.impl.SynchroPortImpl <em>Synchro Port</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see dataflowScheme.impl.SynchroPortImpl
	 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getSynchroPort()
	 * @generated
	 */
	int SYNCHRO_PORT = 8;

	/**
	 * The feature id for the '<em><b>Type</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int SYNCHRO_PORT__TYPE = PORT__TYPE;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int SYNCHRO_PORT__NAME = PORT__NAME;

	/**
	 * The number of structural features of the '<em>Synchro Port</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int SYNCHRO_PORT_FEATURE_COUNT = PORT_FEATURE_COUNT + 0;

	/**
	 * The meta object id for the '{@link dataflowScheme.impl.PortSetImpl <em>Port Set</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see dataflowScheme.impl.PortSetImpl
	 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getPortSet()
	 * @generated
	 */
	int PORT_SET = 9;

	/**
	 * The feature id for the '<em><b>Type</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PORT_SET__TYPE = 0;

	/**
	 * The feature id for the '<em><b>Port</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PORT_SET__PORT = 1;

	/**
	 * The feature id for the '<em><b>Id</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PORT_SET__ID = 2;

	/**
	 * The number of structural features of the '<em>Port Set</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PORT_SET_FEATURE_COUNT = 3;

	/**
	 * The meta object id for the '{@link dataflowScheme.impl.BlockImpl <em>Block</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see dataflowScheme.impl.BlockImpl
	 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getBlock()
	 * @generated
	 */
	int BLOCK = 10;

	/**
	 * The feature id for the '<em><b>Entity</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int BLOCK__ENTITY = 0;

	/**
	 * The feature id for the '<em><b>Connection</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int BLOCK__CONNECTION = 1;

	/**
	 * The feature id for the '<em><b>Trigger</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int BLOCK__TRIGGER = 2;

	/**
	 * The feature id for the '<em><b>Stopper</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int BLOCK__STOPPER = 3;

	/**
	 * The number of structural features of the '<em>Block</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int BLOCK_FEATURE_COUNT = 4;

	/**
	 * The meta object id for the '{@link dataflowScheme.impl.TriggerImpl <em>Trigger</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see dataflowScheme.impl.TriggerImpl
	 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getTrigger()
	 * @generated
	 */
	int TRIGGER = 11;

	/**
	 * The feature id for the '<em><b>Ports</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int TRIGGER__PORTS = 0;

	/**
	 * The number of structural features of the '<em>Trigger</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int TRIGGER_FEATURE_COUNT = 1;

	/**
	 * The meta object id for the '{@link dataflowScheme.impl.StopperImpl <em>Stopper</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see dataflowScheme.impl.StopperImpl
	 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getStopper()
	 * @generated
	 */
	int STOPPER = 12;

	/**
	 * The feature id for the '<em><b>Ports</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int STOPPER__PORTS = 0;

	/**
	 * The number of structural features of the '<em>Stopper</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int STOPPER_FEATURE_COUNT = 1;

	/**
	 * The meta object id for the '{@link dataflowScheme.ConnectionType <em>Connection Type</em>}' enum.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see dataflowScheme.ConnectionType
	 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getConnectionType()
	 * @generated
	 */
	int CONNECTION_TYPE = 13;

	/**
	 * The meta object id for the '<em>Source Type</em>' data type.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see java.lang.String
	 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getSourceType()
	 * @generated
	 */
	int SOURCE_TYPE = 14;


	/**
	 * Returns the meta object for class '{@link dataflowScheme.PE <em>PE</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>PE</em>'.
	 * @see dataflowScheme.PE
	 * @generated
	 */
	EClass getPE();

	/**
	 * Returns the meta object for the containment reference list '{@link dataflowScheme.PE#getPortSet <em>Port Set</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Port Set</em>'.
	 * @see dataflowScheme.PE#getPortSet()
	 * @see #getPE()
	 * @generated
	 */
	EReference getPE_PortSet();

	/**
	 * Returns the meta object for the attribute '{@link dataflowScheme.PE#getName <em>Name</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Name</em>'.
	 * @see dataflowScheme.PE#getName()
	 * @see #getPE()
	 * @generated
	 */
	EAttribute getPE_Name();

	/**
	 * Returns the meta object for the attribute '{@link dataflowScheme.PE#getSource <em>Source</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Source</em>'.
	 * @see dataflowScheme.PE#getSource()
	 * @see #getPE()
	 * @generated
	 */
	EAttribute getPE_Source();

	/**
	 * Returns the meta object for class '{@link dataflowScheme.Storage <em>Storage</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Storage</em>'.
	 * @see dataflowScheme.Storage
	 * @generated
	 */
	EClass getStorage();

	/**
	 * Returns the meta object for class '{@link dataflowScheme.Task <em>Task</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Task</em>'.
	 * @see dataflowScheme.Task
	 * @generated
	 */
	EClass getTask();

	/**
	 * Returns the meta object for class '{@link dataflowScheme.Connection <em>Connection</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Connection</em>'.
	 * @see dataflowScheme.Connection
	 * @generated
	 */
	EClass getConnection();

	/**
	 * Returns the meta object for class '{@link dataflowScheme.SynchroConnection <em>Synchro Connection</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Synchro Connection</em>'.
	 * @see dataflowScheme.SynchroConnection
	 * @generated
	 */
	EClass getSynchroConnection();

	/**
	 * Returns the meta object for the reference '{@link dataflowScheme.SynchroConnection#getOutPort <em>Out Port</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>Out Port</em>'.
	 * @see dataflowScheme.SynchroConnection#getOutPort()
	 * @see #getSynchroConnection()
	 * @generated
	 */
	EReference getSynchroConnection_OutPort();

	/**
	 * Returns the meta object for the reference '{@link dataflowScheme.SynchroConnection#getInPort <em>In Port</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>In Port</em>'.
	 * @see dataflowScheme.SynchroConnection#getInPort()
	 * @see #getSynchroConnection()
	 * @generated
	 */
	EReference getSynchroConnection_InPort();

	/**
	 * Returns the meta object for class '{@link dataflowScheme.DataConnection <em>Data Connection</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Data Connection</em>'.
	 * @see dataflowScheme.DataConnection
	 * @generated
	 */
	EClass getDataConnection();

	/**
	 * Returns the meta object for the reference '{@link dataflowScheme.DataConnection#getOutPort <em>Out Port</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>Out Port</em>'.
	 * @see dataflowScheme.DataConnection#getOutPort()
	 * @see #getDataConnection()
	 * @generated
	 */
	EReference getDataConnection_OutPort();

	/**
	 * Returns the meta object for the reference '{@link dataflowScheme.DataConnection#getInPort <em>In Port</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>In Port</em>'.
	 * @see dataflowScheme.DataConnection#getInPort()
	 * @see #getDataConnection()
	 * @generated
	 */
	EReference getDataConnection_InPort();

	/**
	 * Returns the meta object for class '{@link dataflowScheme.Port <em>Port</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Port</em>'.
	 * @see dataflowScheme.Port
	 * @generated
	 */
	EClass getPort();

	/**
	 * Returns the meta object for the attribute '{@link dataflowScheme.Port#getType <em>Type</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Type</em>'.
	 * @see dataflowScheme.Port#getType()
	 * @see #getPort()
	 * @generated
	 */
	EAttribute getPort_Type();

	/**
	 * Returns the meta object for the attribute '{@link dataflowScheme.Port#getName <em>Name</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Name</em>'.
	 * @see dataflowScheme.Port#getName()
	 * @see #getPort()
	 * @generated
	 */
	EAttribute getPort_Name();

	/**
	 * Returns the meta object for class '{@link dataflowScheme.DataPort <em>Data Port</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Data Port</em>'.
	 * @see dataflowScheme.DataPort
	 * @generated
	 */
	EClass getDataPort();

	/**
	 * Returns the meta object for class '{@link dataflowScheme.SynchroPort <em>Synchro Port</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Synchro Port</em>'.
	 * @see dataflowScheme.SynchroPort
	 * @generated
	 */
	EClass getSynchroPort();

	/**
	 * Returns the meta object for class '{@link dataflowScheme.PortSet <em>Port Set</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Port Set</em>'.
	 * @see dataflowScheme.PortSet
	 * @generated
	 */
	EClass getPortSet();

	/**
	 * Returns the meta object for the attribute '{@link dataflowScheme.PortSet#getType <em>Type</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Type</em>'.
	 * @see dataflowScheme.PortSet#getType()
	 * @see #getPortSet()
	 * @generated
	 */
	EAttribute getPortSet_Type();

	/**
	 * Returns the meta object for the containment reference list '{@link dataflowScheme.PortSet#getPort <em>Port</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Port</em>'.
	 * @see dataflowScheme.PortSet#getPort()
	 * @see #getPortSet()
	 * @generated
	 */
	EReference getPortSet_Port();

	/**
	 * Returns the meta object for the attribute '{@link dataflowScheme.PortSet#getId <em>Id</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Id</em>'.
	 * @see dataflowScheme.PortSet#getId()
	 * @see #getPortSet()
	 * @generated
	 */
	EAttribute getPortSet_Id();

	/**
	 * Returns the meta object for class '{@link dataflowScheme.Block <em>Block</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Block</em>'.
	 * @see dataflowScheme.Block
	 * @generated
	 */
	EClass getBlock();

	/**
	 * Returns the meta object for the containment reference list '{@link dataflowScheme.Block#getEntity <em>Entity</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Entity</em>'.
	 * @see dataflowScheme.Block#getEntity()
	 * @see #getBlock()
	 * @generated
	 */
	EReference getBlock_Entity();

	/**
	 * Returns the meta object for the containment reference list '{@link dataflowScheme.Block#getConnection <em>Connection</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Connection</em>'.
	 * @see dataflowScheme.Block#getConnection()
	 * @see #getBlock()
	 * @generated
	 */
	EReference getBlock_Connection();

	/**
	 * Returns the meta object for the containment reference '{@link dataflowScheme.Block#getTrigger <em>Trigger</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference '<em>Trigger</em>'.
	 * @see dataflowScheme.Block#getTrigger()
	 * @see #getBlock()
	 * @generated
	 */
	EReference getBlock_Trigger();

	/**
	 * Returns the meta object for the containment reference list '{@link dataflowScheme.Block#getStopper <em>Stopper</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Stopper</em>'.
	 * @see dataflowScheme.Block#getStopper()
	 * @see #getBlock()
	 * @generated
	 */
	EReference getBlock_Stopper();

	/**
	 * Returns the meta object for class '{@link dataflowScheme.Trigger <em>Trigger</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Trigger</em>'.
	 * @see dataflowScheme.Trigger
	 * @generated
	 */
	EClass getTrigger();

	/**
	 * Returns the meta object for the containment reference list '{@link dataflowScheme.Trigger#getPorts <em>Ports</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Ports</em>'.
	 * @see dataflowScheme.Trigger#getPorts()
	 * @see #getTrigger()
	 * @generated
	 */
	EReference getTrigger_Ports();

	/**
	 * Returns the meta object for class '{@link dataflowScheme.Stopper <em>Stopper</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Stopper</em>'.
	 * @see dataflowScheme.Stopper
	 * @generated
	 */
	EClass getStopper();

	/**
	 * Returns the meta object for the containment reference list '{@link dataflowScheme.Stopper#getPorts <em>Ports</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Ports</em>'.
	 * @see dataflowScheme.Stopper#getPorts()
	 * @see #getStopper()
	 * @generated
	 */
	EReference getStopper_Ports();

	/**
	 * Returns the meta object for enum '{@link dataflowScheme.ConnectionType <em>Connection Type</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for enum '<em>Connection Type</em>'.
	 * @see dataflowScheme.ConnectionType
	 * @generated
	 */
	EEnum getConnectionType();

	/**
	 * Returns the meta object for data type '{@link java.lang.String <em>Source Type</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for data type '<em>Source Type</em>'.
	 * @see java.lang.String
	 * @model instanceClass="java.lang.String"
	 * @generated
	 */
	EDataType getSourceType();

	/**
	 * Returns the factory that creates the instances of the model.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the factory that creates the instances of the model.
	 * @generated
	 */
	DataflowSchemeFactory getDataflowSchemeFactory();

	/**
	 * <!-- begin-user-doc -->
	 * Defines literals for the meta objects that represent
	 * <ul>
	 *   <li>each class,</li>
	 *   <li>each feature of each class,</li>
	 *   <li>each enum,</li>
	 *   <li>and each data type</li>
	 * </ul>
	 * <!-- end-user-doc -->
	 * @generated
	 */
	interface Literals {
		/**
		 * The meta object literal for the '{@link dataflowScheme.PE <em>PE</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see dataflowScheme.PE
		 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getPE()
		 * @generated
		 */
		EClass PE = eINSTANCE.getPE();

		/**
		 * The meta object literal for the '<em><b>Port Set</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference PE__PORT_SET = eINSTANCE.getPE_PortSet();

		/**
		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute PE__NAME = eINSTANCE.getPE_Name();

		/**
		 * The meta object literal for the '<em><b>Source</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute PE__SOURCE = eINSTANCE.getPE_Source();

		/**
		 * The meta object literal for the '{@link dataflowScheme.impl.StorageImpl <em>Storage</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see dataflowScheme.impl.StorageImpl
		 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getStorage()
		 * @generated
		 */
		EClass STORAGE = eINSTANCE.getStorage();

		/**
		 * The meta object literal for the '{@link dataflowScheme.impl.TaskImpl <em>Task</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see dataflowScheme.impl.TaskImpl
		 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getTask()
		 * @generated
		 */
		EClass TASK = eINSTANCE.getTask();

		/**
		 * The meta object literal for the '{@link dataflowScheme.Connection <em>Connection</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see dataflowScheme.Connection
		 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getConnection()
		 * @generated
		 */
		EClass CONNECTION = eINSTANCE.getConnection();

		/**
		 * The meta object literal for the '{@link dataflowScheme.impl.SynchroConnectionImpl <em>Synchro Connection</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see dataflowScheme.impl.SynchroConnectionImpl
		 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getSynchroConnection()
		 * @generated
		 */
		EClass SYNCHRO_CONNECTION = eINSTANCE.getSynchroConnection();

		/**
		 * The meta object literal for the '<em><b>Out Port</b></em>' reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference SYNCHRO_CONNECTION__OUT_PORT = eINSTANCE.getSynchroConnection_OutPort();

		/**
		 * The meta object literal for the '<em><b>In Port</b></em>' reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference SYNCHRO_CONNECTION__IN_PORT = eINSTANCE.getSynchroConnection_InPort();

		/**
		 * The meta object literal for the '{@link dataflowScheme.impl.DataConnectionImpl <em>Data Connection</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see dataflowScheme.impl.DataConnectionImpl
		 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getDataConnection()
		 * @generated
		 */
		EClass DATA_CONNECTION = eINSTANCE.getDataConnection();

		/**
		 * The meta object literal for the '<em><b>Out Port</b></em>' reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference DATA_CONNECTION__OUT_PORT = eINSTANCE.getDataConnection_OutPort();

		/**
		 * The meta object literal for the '<em><b>In Port</b></em>' reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference DATA_CONNECTION__IN_PORT = eINSTANCE.getDataConnection_InPort();

		/**
		 * The meta object literal for the '{@link dataflowScheme.Port <em>Port</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see dataflowScheme.Port
		 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getPort()
		 * @generated
		 */
		EClass PORT = eINSTANCE.getPort();

		/**
		 * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute PORT__TYPE = eINSTANCE.getPort_Type();

		/**
		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute PORT__NAME = eINSTANCE.getPort_Name();

		/**
		 * The meta object literal for the '{@link dataflowScheme.impl.DataPortImpl <em>Data Port</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see dataflowScheme.impl.DataPortImpl
		 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getDataPort()
		 * @generated
		 */
		EClass DATA_PORT = eINSTANCE.getDataPort();

		/**
		 * The meta object literal for the '{@link dataflowScheme.impl.SynchroPortImpl <em>Synchro Port</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see dataflowScheme.impl.SynchroPortImpl
		 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getSynchroPort()
		 * @generated
		 */
		EClass SYNCHRO_PORT = eINSTANCE.getSynchroPort();

		/**
		 * The meta object literal for the '{@link dataflowScheme.impl.PortSetImpl <em>Port Set</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see dataflowScheme.impl.PortSetImpl
		 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getPortSet()
		 * @generated
		 */
		EClass PORT_SET = eINSTANCE.getPortSet();

		/**
		 * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute PORT_SET__TYPE = eINSTANCE.getPortSet_Type();

		/**
		 * The meta object literal for the '<em><b>Port</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference PORT_SET__PORT = eINSTANCE.getPortSet_Port();

		/**
		 * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute PORT_SET__ID = eINSTANCE.getPortSet_Id();

		/**
		 * The meta object literal for the '{@link dataflowScheme.impl.BlockImpl <em>Block</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see dataflowScheme.impl.BlockImpl
		 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getBlock()
		 * @generated
		 */
		EClass BLOCK = eINSTANCE.getBlock();

		/**
		 * The meta object literal for the '<em><b>Entity</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference BLOCK__ENTITY = eINSTANCE.getBlock_Entity();

		/**
		 * The meta object literal for the '<em><b>Connection</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference BLOCK__CONNECTION = eINSTANCE.getBlock_Connection();

		/**
		 * The meta object literal for the '<em><b>Trigger</b></em>' containment reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference BLOCK__TRIGGER = eINSTANCE.getBlock_Trigger();

		/**
		 * The meta object literal for the '<em><b>Stopper</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference BLOCK__STOPPER = eINSTANCE.getBlock_Stopper();

		/**
		 * The meta object literal for the '{@link dataflowScheme.impl.TriggerImpl <em>Trigger</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see dataflowScheme.impl.TriggerImpl
		 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getTrigger()
		 * @generated
		 */
		EClass TRIGGER = eINSTANCE.getTrigger();

		/**
		 * The meta object literal for the '<em><b>Ports</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference TRIGGER__PORTS = eINSTANCE.getTrigger_Ports();

		/**
		 * The meta object literal for the '{@link dataflowScheme.impl.StopperImpl <em>Stopper</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see dataflowScheme.impl.StopperImpl
		 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getStopper()
		 * @generated
		 */
		EClass STOPPER = eINSTANCE.getStopper();

		/**
		 * The meta object literal for the '<em><b>Ports</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference STOPPER__PORTS = eINSTANCE.getStopper_Ports();

		/**
		 * The meta object literal for the '{@link dataflowScheme.ConnectionType <em>Connection Type</em>}' enum.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see dataflowScheme.ConnectionType
		 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getConnectionType()
		 * @generated
		 */
		EEnum CONNECTION_TYPE = eINSTANCE.getConnectionType();

		/**
		 * The meta object literal for the '<em>Source Type</em>' data type.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see java.lang.String
		 * @see dataflowScheme.impl.DataflowSchemePackageImpl#getSourceType()
		 * @generated
		 */
		EDataType SOURCE_TYPE = eINSTANCE.getSourceType();

	}

} //DataflowSchemePackage
